<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>OpenMesh: OpenMesh::PropertyContainer Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="logo_align.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="rwth_vci_rgb.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">OpenMesh
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('a02593.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="a02590.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">OpenMesh::PropertyContainer Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>A a container for properties.  
 <a href="a02593.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00479_source.html">OpenMesh/Core/Utils/PropertyContainer.hh</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a008a731acf6297b2261964c09e8c69c8"><td class="memItemLeft" align="right" valign="top"><a id="a008a731acf6297b2261964c09e8c69c8"></a>
typedef std::vector&lt; <a class="el" href="a02497.html">BaseProperty</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Properties</b></td></tr>
<tr class="separator:a008a731acf6297b2261964c09e8c69c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3b1b8888637a0be238a7544b057f1aaf"><td class="memItemLeft" align="right" valign="top"><a id="a3b1b8888637a0be238a7544b057f1aaf"></a>
const Properties &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>properties</b> () const</td></tr>
<tr class="separator:a3b1b8888637a0be238a7544b057f1aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e708d5d2933130b270242dd609fe57a"><td class="memItemLeft" align="right" valign="top"><a id="a7e708d5d2933130b270242dd609fe57a"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> () const</td></tr>
<tr class="separator:a7e708d5d2933130b270242dd609fe57a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a480b1f8537dfff19668a50dd6e811a44"><td class="memItemLeft" align="right" valign="top"><a id="a480b1f8537dfff19668a50dd6e811a44"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>PropertyContainer</b> (const <a class="el" href="a02593.html">PropertyContainer</a> &amp;_rhs)</td></tr>
<tr class="separator:a480b1f8537dfff19668a50dd6e811a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd87f048baa409defd80194fafa318d0"><td class="memItemLeft" align="right" valign="top"><a id="acd87f048baa409defd80194fafa318d0"></a>
<a class="el" href="a02593.html">PropertyContainer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="a02593.html">PropertyContainer</a> &amp;_rhs)</td></tr>
<tr class="separator:acd87f048baa409defd80194fafa318d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebb7fff20f94177b9535d3a7a3b82644"><td class="memTemplParams" colspan="2"><a id="aebb7fff20f94177b9535d3a7a3b82644"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:aebb7fff20f94177b9535d3a7a3b82644"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a02549.html">BasePropHandleT</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>add</b> (const T &amp;, const std::string &amp;_name=&quot;&lt;unknown&gt;&quot;)</td></tr>
<tr class="separator:aebb7fff20f94177b9535d3a7a3b82644"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4edbcc26906cf506c75d9afd1ca33528"><td class="memTemplParams" colspan="2"><a id="a4edbcc26906cf506c75d9afd1ca33528"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a4edbcc26906cf506c75d9afd1ca33528"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a02549.html">BasePropHandleT</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>handle</b> (const T &amp;, const std::string &amp;_name) const</td></tr>
<tr class="separator:a4edbcc26906cf506c75d9afd1ca33528"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a124fd42c4c8ccee81e5155f586c2d96d"><td class="memItemLeft" align="right" valign="top"><a id="a124fd42c4c8ccee81e5155f586c2d96d"></a>
<a class="el" href="a02497.html">BaseProperty</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>property</b> (const std::string &amp;_name) const</td></tr>
<tr class="separator:a124fd42c4c8ccee81e5155f586c2d96d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23c02e8d51fe4b00921dc2378d423310"><td class="memTemplParams" colspan="2"><a id="a23c02e8d51fe4b00921dc2378d423310"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a23c02e8d51fe4b00921dc2378d423310"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a02537.html">PropertyT</a>&lt; T &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>property</b> (<a class="el" href="a02549.html">BasePropHandleT</a>&lt; T &gt; _h)</td></tr>
<tr class="separator:a23c02e8d51fe4b00921dc2378d423310"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a836d1c6b6d5ce89756562750bb16c89b"><td class="memTemplParams" colspan="2"><a id="a836d1c6b6d5ce89756562750bb16c89b"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a836d1c6b6d5ce89756562750bb16c89b"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="a02537.html">PropertyT</a>&lt; T &gt; &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><b>property</b> (<a class="el" href="a02549.html">BasePropHandleT</a>&lt; T &gt; _h) const</td></tr>
<tr class="separator:a836d1c6b6d5ce89756562750bb16c89b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a762475aa22ffcb5f383403125fcaa36a"><td class="memTemplParams" colspan="2"><a id="a762475aa22ffcb5f383403125fcaa36a"></a>
template&lt;class T &gt; </td></tr>
<tr class="memitem:a762475aa22ffcb5f383403125fcaa36a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><b>remove</b> (<a class="el" href="a02549.html">BasePropHandleT</a>&lt; T &gt; _h)</td></tr>
<tr class="separator:a762475aa22ffcb5f383403125fcaa36a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a631e91a7caa30a9b02a5af495e4129b6"><td class="memItemLeft" align="right" valign="top"><a id="a631e91a7caa30a9b02a5af495e4129b6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
<tr class="separator:a631e91a7caa30a9b02a5af495e4129b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2eb1e2604cdbe9b85248a8cd3436f065"><td class="memItemLeft" align="right" valign="top"><a id="a2eb1e2604cdbe9b85248a8cd3436f065"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a02593.html#a2eb1e2604cdbe9b85248a8cd3436f065">reserve</a> (size_t _n) const</td></tr>
<tr class="memdesc:a2eb1e2604cdbe9b85248a8cd3436f065"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reserves space for <code>_n</code> elements in all property vectors. <br /></td></tr>
<tr class="separator:a2eb1e2604cdbe9b85248a8cd3436f065"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac04a05b6e852d51626339252077c54f3"><td class="memItemLeft" align="right" valign="top"><a id="ac04a05b6e852d51626339252077c54f3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a02593.html#ac04a05b6e852d51626339252077c54f3">resize</a> (size_t _n) const</td></tr>
<tr class="memdesc:ac04a05b6e852d51626339252077c54f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resizes all property vectors to the specified size. <br /></td></tr>
<tr class="separator:ac04a05b6e852d51626339252077c54f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44baed10be148cd4371f4592a8f70dd2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a02593.html#a44baed10be148cd4371f4592a8f70dd2">resize_if_smaller</a> (size_t _n) const</td></tr>
<tr class="memdesc:a44baed10be148cd4371f4592a8f70dd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Same as.  <a href="#a44baed10be148cd4371f4592a8f70dd2">More...</a><br /></td></tr>
<tr class="separator:a44baed10be148cd4371f4592a8f70dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77d56c72792292090b3f14c17a1cdb5d"><td class="memItemLeft" align="right" valign="top"><a id="a77d56c72792292090b3f14c17a1cdb5d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a02593.html#a77d56c72792292090b3f14c17a1cdb5d">swap</a> (size_t _i0, size_t _i1) const</td></tr>
<tr class="memdesc:a77d56c72792292090b3f14c17a1cdb5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swaps the items with index <code>_i0</code> and index <code>_i1</code> in all property vectors. <br /></td></tr>
<tr class="separator:a77d56c72792292090b3f14c17a1cdb5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a7ef70e4b89bc896b73a9cf5cb4e6f648"><td class="memItemLeft" align="right" valign="top"><a id="a7ef70e4b89bc896b73a9cf5cb4e6f648"></a>
typedef Properties::iterator&#160;</td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr>
<tr class="separator:a7ef70e4b89bc896b73a9cf5cb4e6f648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb338c72528204d41696e20c01bceee1"><td class="memItemLeft" align="right" valign="top"><a id="acb338c72528204d41696e20c01bceee1"></a>
typedef Properties::const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr>
<tr class="separator:acb338c72528204d41696e20c01bceee1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:adefb5baef2ed4ea710819d9494c13508"><td class="memItemLeft" align="right" valign="top"><a id="adefb5baef2ed4ea710819d9494c13508"></a>
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>_add</b> (<a class="el" href="a02497.html">BaseProperty</a> *_bp)</td></tr>
<tr class="separator:adefb5baef2ed4ea710819d9494c13508"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8ce62e64c55183149a9f38068cf4174"><td class="memItemLeft" align="right" valign="top"><a id="ac8ce62e64c55183149a9f38068cf4174"></a>
<a class="el" href="a02497.html">BaseProperty</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>_property</b> (size_t _idx)</td></tr>
<tr class="separator:ac8ce62e64c55183149a9f38068cf4174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4c4d3fa6c2a897b1531ecc38efc15df"><td class="memItemLeft" align="right" valign="top"><a id="ae4c4d3fa6c2a897b1531ecc38efc15df"></a>
const <a class="el" href="a02497.html">BaseProperty</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>_property</b> (size_t _idx) const</td></tr>
<tr class="separator:ae4c4d3fa6c2a897b1531ecc38efc15df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade6a0c922201139f4a01c4f308565bf0"><td class="memItemLeft" align="right" valign="top"><a id="ade6a0c922201139f4a01c4f308565bf0"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> ()</td></tr>
<tr class="separator:ade6a0c922201139f4a01c4f308565bf0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab865599d4971b5acda0796ff6a1fee2c"><td class="memItemLeft" align="right" valign="top"><a id="ab865599d4971b5acda0796ff6a1fee2c"></a>
iterator&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> ()</td></tr>
<tr class="separator:ab865599d4971b5acda0796ff6a1fee2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33c8414a6706fcb4c4cc1863bf1e234a"><td class="memItemLeft" align="right" valign="top"><a id="a33c8414a6706fcb4c4cc1863bf1e234a"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>begin</b> () const</td></tr>
<tr class="separator:a33c8414a6706fcb4c4cc1863bf1e234a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1807f7b6ee96f4dcfd96b5b9d9316512"><td class="memItemLeft" align="right" valign="top"><a id="a1807f7b6ee96f4dcfd96b5b9d9316512"></a>
const_iterator&#160;</td><td class="memItemRight" valign="bottom"><b>end</b> () const</td></tr>
<tr class="separator:a1807f7b6ee96f4dcfd96b5b9d9316512"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a9b82005bcafe1e17389583740fba8c9b"><td class="memItemLeft" align="right" valign="top"><a id="a9b82005bcafe1e17389583740fba8c9b"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>BaseKernel</b></td></tr>
<tr class="separator:a9b82005bcafe1e17389583740fba8c9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A a container for properties. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a44baed10be148cd4371f4592a8f70dd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44baed10be148cd4371f4592a8f70dd2">&#9670;&nbsp;</a></span>resize_if_smaller()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void OpenMesh::PropertyContainer::resize_if_smaller </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>_n</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Same as. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="a02593.html#ac04a05b6e852d51626339252077c54f3" title="Resizes all property vectors to the specified size. ">resize()</a> but ignores property vectors that have a size larger than <code>_n</code>.</dd></dl>
<p>Use this method instead of </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="a02593.html#ac04a05b6e852d51626339252077c54f3" title="Resizes all property vectors to the specified size. ">resize()</a> if you plan to frequently reduce and enlarge the property container and you don't want to waste time reallocating the property vectors every time. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>OpenMesh/Core/Utils/<a class="el" href="a00479_source.html">PropertyContainer.hh</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<hr>
<address>
<small>
<a href="http://www.rwth-graphics.de" style="text-decoration:none;">
</a>
Project <b>OpenMesh</b>, 
&copy;&nbsp; Computer Graphics Group, RWTH Aachen.
Documentation generated using 
<a class="el" href="http://www.doxygen.org/index.html">
<b>doxygen</b>
</a>.
</small>
</address>
</body>
</html>
